home *** CD-ROM | disk | FTP | other *** search
/ Compendium Deluxe 2 / LSD and 17bit Compendium Deluxe - Volume II.iso / a / prog / asmsrc / ccsporn.lha / PORNO.s
Encoding:
Text File  |  1980-12-02  |  9.3 KB  |  406 lines

  1.  
  2. ExecBase    EQU    4
  3. OpenLibrary    EQU    -552
  4. AllocMem    EQU    -198
  5. FreeMem        EQU    -210
  6.  
  7. * Graphics
  8. InitBitmap    EQU    -390
  9. InitRastPort    EQU    -198
  10. SetAPen        EQU    -342
  11. Move        EQU    -240
  12. Text        EQU    -60
  13. ScrollRaster    EQU    -396
  14.  
  15. Bitmap_Size    EQU    50000
  16.  
  17.     OPT    P+            Relocatable Code
  18.  
  19.     BSR    Open_Libraries
  20.     BSR    Get_Memory
  21.     BSR    Clear_Bitmap
  22.     BSR    Init_Screen
  23.     BSR    Setup_Copper
  24.  
  25.     BSR    Init_Scroller
  26.     BSR    Put_Text_On_Screen
  27.  
  28. Wait_Mouse_Press
  29.     CMPI.B    #0,$DFF006
  30.     BNE    Wait_Mouse_Press
  31.     BSR    Move_BackGround
  32.     BSR    Move_ForeGround
  33.     BSR    Move_ForeGround
  34.     BSR    Pulse_Colours
  35.     BSR    Fade_Prompt
  36.     BSR    Fade_Prompt
  37.     BSR    Scroll_Msg
  38.     LEA    Scroll_Delay(PC),A0
  39.     SUBQ.B    #1,(A0)
  40.     BNE    Not_Text_Time
  41.     BSR    Put_Char_On
  42.  
  43. Not_Text_Time
  44.     BSR    Pause_Routine
  45.     BTST    #6,$BFE001
  46.     BNE    Wait_Mouse_Press
  47. Finish
  48.     BSR    Reset_Copper
  49.     BSR    Free_Memory
  50.     CLR.L    D0
  51.     RTS
  52.  
  53. Open_Libraries:
  54.     MOVE.L    ExecBase,A6
  55.     LEA    GfxName(PC),A1
  56.     CLR.L    D0
  57.     JSR    OpenLibrary(A6)
  58.     LEA    GfxBase(PC),A1
  59.     MOVE.L    D0,(A1)
  60.     RTS
  61.  
  62. Get_Memory:
  63. * Memory For Copper List
  64.     MOVE.L    #Copper_Size,D0
  65.     MOVEQ.L    #3,D1
  66.     JSR    AllocMem(A6)
  67.     LEA    Copper_Mem(PC),A0
  68.     MOVE.L    D0,(A0)
  69. * Memory For Bitmap
  70.     MOVE.L    #Bitmap_Size,D0
  71.     MOVE.L    #3,D1
  72.     JSR    AllocMem(A6)
  73.     LEA    Bitmap_Mem(PC),A0
  74.     MOVE.L    D0,(A0)
  75.     RTS
  76.  
  77. Free_Memory:
  78.     MOVE.L    ExecBase,A6
  79.     MOVE.L    Copper_Mem(PC),A1
  80.     MOVE.L    #Copper_Size,D0
  81.     JSR    FreeMem(A6)
  82.     MOVE.L    Bitmap_Mem(PC),A1
  83.     MOVE.L    #Bitmap_Size,D0
  84.     JSR    FreeMem(A6)
  85.     RTS
  86.  
  87. Clear_Bitmap:
  88.     MOVE.L    Bitmap_Mem(PC),A0
  89.     MOVE.L    A0,D0
  90.     MOVE.L    #3300,D1
  91. Clr_Bmap
  92.     CLR.L    (A0)+
  93.     SUBQ.L    #1,D1
  94.     BNE    Clr_Bmap
  95. Set_Bitmap_Address
  96.     LEA    Bitmap_Lo(PC),A1
  97.     MOVE.W    D0,(A1)
  98.     SWAP    D0
  99.     LEA    Bitmap_Hi(PC),A1
  100.     MOVE.W    D0,(A1)
  101.     RTS
  102.  
  103. Init_Screen:
  104.     MOVE.L    GfxBase(PC),A6
  105.     LEA    Bitmap_Struct(PC),A0
  106.     MOVE.L    #1,D0                Depth
  107.     MOVE.L    #$300,D1            Width
  108.     MOVE.L    #$C0,D2                Height
  109.     JSR    InitBitmap(A6)
  110.     LEA    Bitmap_Struct(PC),A0
  111.     MOVE.L    Bitmap_Mem(PC),8(A0)
  112.     LEA    RastPort_Struct(PC),A1
  113.     JSR    InitRastPort(A6)
  114.     LEA    Bitmap_Struct(PC),A0
  115.     LEA    RastPort_Struct(PC),A1
  116.     MOVE.L    A0,4(A1)
  117.     RTS
  118.  
  119. Setup_Copper:
  120.     MOVE.L    Copper_Mem(PC),A0
  121.     LEA    My_Copper_List(PC),A1
  122. Move_Copper_List
  123.     MOVE.L    (A1),(A0)+
  124.     CMP.L    #$FFFFFFFE,(A1)+
  125.     BNE    Move_Copper_List
  126.     MOVE.W    #$0080,$DFF096            Stop Copper Int.
  127.     MOVE.L    GfxBase(PC),A1
  128.     LEA    Old_Copper_Base(PC),A0
  129.     MOVE.L    $32(A1),(A0)
  130.     MOVE.L    Copper_Mem(PC),$32(A1)
  131.     MOVE.W    #$8080,$DFF096            Start Copper Int.
  132.     RTS
  133.  
  134. Reset_Copper:
  135.     MOVE.W    #$0080,$DFF096            Stop Copper Int.
  136.     MOVE.L    GfxBase(PC),A0
  137.     MOVE.L    Old_Copper_Base(PC),$32(A0)
  138.     MOVE.W    #$8080,$DFF096            Start Copper Int.
  139.     RTS
  140.  
  141. Move_BackGround
  142.     MOVE.L    Copper_Mem(PC),A0
  143.     ADD.L    #Wrap_Start-My_Copper_List,A0
  144.     MOVE.L    A0,A1
  145.     MOVE.L    #58,D0                Num. Cop Lines
  146. BackGround_Line
  147.     MOVE.W    18(A0),6(A0)
  148.     ADD.L    #12,A0
  149.     DBF    D0,BackGround_Line
  150.     MOVE.W    6(A1),6(A0)
  151.     RTS
  152.  
  153. Move_ForeGround
  154.     MOVE.L    Copper_Mem(PC),A0
  155.     ADD.L    #Wrap_End-My_Copper_List,A0
  156.     MOVE.L    A0,A1
  157.     MOVE.L    #58,D0
  158. ForeGround_Line
  159.     MOVE.W    10(A0),22(A0)
  160.     SUB.L    #12,A0
  161.     DBF    D0,ForeGround_Line
  162.     MOVE.W    10(A1),22(A0)
  163.     RTS
  164.  
  165. Pulse_Colours
  166.     LEA    Red(PC),A0
  167.     BSR    Pulse_Colour
  168.     LEA    Green(PC),A0
  169.     BSR    Pulse_Colour
  170.     RTS
  171.  
  172. Pulse_Colour
  173.     TST.B    1(A0)
  174.     BEQ    Inc_Red
  175.     SUBQ.B    #1,(A0)
  176.     CMPI.B    #0,(A0)
  177.     BNE    Pulse_Exit
  178.     NOT.B    1(A0)
  179.     RTS
  180. Inc_Red    ADDQ.B    #1,(A0)
  181.     CMPI.B    #14,(A0)
  182.     BNE    Pulse_Exit
  183.     NOT.B    1(A0)
  184. Pulse_Exit
  185.     RTS
  186.  
  187. Fade_Prompt
  188.     MOVE.L    Copper_Mem(PC),A0
  189.     ADD.L    #Bot_Col-My_Copper_List,A0
  190.     CLR.L    D1
  191.     CLR.L    D0
  192.     MOVE.B    Red(PC),D0
  193.     LSL.W    #8,D0
  194.     CLR.L    D1
  195.     MOVE.B    Green(PC),D1
  196.     LSL.W    #4,D1
  197.     ADD.L    D1,D0
  198.     CLR.L    D1
  199.     MOVE.B    Blue(PC),D1
  200.     ADD.L    D1,D0
  201.     MOVE.W    D0,(A0)
  202.     RTS
  203.         
  204.  
  205. Pause_Routine
  206.     RTS
  207.  
  208.     MOVEM.L    D0,-(SP)
  209.     MOVE.L    #200,D0
  210. Pause_Loop
  211.     SUBQ.L    #1,D0
  212.     BNE    Pause_Loop
  213.     MOVEM.L    (SP)+,D0
  214.     RTS
  215.  
  216. Scroll_Msg
  217.     LEA    RastPort_Struct(PC),A1
  218.     MOVEQ.L    #2,D0                DX
  219.     MOVEQ.L    #0,D1                DY
  220.     MOVEQ.L    #0,D2                XMIN
  221.     MOVE.L    #73,D3                YMIN
  222.     MOVE.L    #409,D4                XMAX
  223.     MOVE.L    #85,D5                YMAX
  224.     MOVE.L    GfxBase(PC),A6
  225. Wait_Line
  226.     CMPI.B    #140,$DFF006
  227.     BNE.S    Wait_Line
  228.     JSR    ScrollRaster(A6)
  229.     RTS
  230.  
  231. Put_Char_On
  232.     MOVE.B    #4,(A0)            Reset delay counter
  233.     LEA    RastPort_Struct(PC),A1
  234.     MOVE.L    #390,D0
  235.     MOVE.L    #80,D1
  236.     JSR    Move(A6)
  237.     MOVE.L    Scroll_Pointer(PC),A0
  238.     MOVEQ.L    #1,D0
  239.     JSR    Text(A6)
  240.     LEA    Scroll_Pointer(PC),A0
  241.     ADDQ.L    #1,(A0)
  242.     MOVE.L    (A0),A0
  243.     CMPI.B    #0,(A0)
  244.     BNE    Not_Wrap
  245. Init_Scroller
  246.     LEA    Scroll_Message(PC),A0
  247.     LEA    Scroll_Pointer(PC),A1
  248.     MOVE.L    A0,(A1)
  249. Not_Wrap
  250.     RTS
  251.  
  252. GfxName    DC.B    'graphics.library',0
  253.     EVEN
  254.  
  255. Put_Text_On_Screen
  256.     MOVE.L    GfxBase(PC),A6
  257.     LEA    RastPort_Struct(PC),A1
  258.     MOVEQ.L    #1,D0                Pen
  259.     JSR    SetAPen(A6)
  260.     MOVE.L    #180,D0
  261.     MOVEQ.L    #20,D1
  262.     JSR    Move(A6)
  263.     LEA    RastPort_Struct(PC),A1
  264.     MOVE.L    #60,D0
  265.     MOVE.L    #120,D1
  266.     JSR    Move(A6)
  267.     LEA    Message_3(PC),A0
  268.     MOVEQ.L    #Message_3_Size,D0
  269.     JSR    Text(A6)
  270.     RTS
  271.  
  272. My_Copper_List
  273.     DC.L    $01001200,$01020000,$01080000,$010A0000
  274.     DC.L    $00920020,$009400D8,$008E1C00,$009030FF
  275.     DC.L    $01040024
  276.     DC.W    $00E0
  277. Bitmap_Hi
  278.     DC.W    $0007
  279.     DC.W    $00E2
  280. Bitmap_Lo
  281.     DC.W    $0870
  282.     DC.L    $01800000,$01820FFF
  283.  
  284. Wrap_Start
  285.     DC.L    $3401FFFE,$01800000,$01820000
  286.     DC.L    $3501FFFE,$01800001,$01820100
  287.     DC.L    $3601FFFE,$01800002,$01820200
  288.     DC.L    $3701FFFE,$01800003,$01820300
  289.     DC.L    $3801FFFE,$01800004,$01820400
  290.     DC.L    $3901FFFE,$01800005,$01820500
  291.     DC.L    $3A01FFFE,$01800006,$01820600
  292.     DC.L    $3B01FFFE,$01800007,$01820700
  293.     DC.L    $3C01FFFE,$01800008,$01820800
  294.     DC.L    $3D01FFFE,$01800009,$01820900
  295.     DC.L    $3E01FFFE,$0180000A,$01820A00
  296.     DC.L    $3F01FFFE,$0180000B,$01820B00
  297.     DC.L    $4001FFFE,$0180000C,$01820C00
  298.     DC.L    $4101FFFE,$0180000D,$01820D00
  299.     DC.L    $4201FFFE,$0180000E,$01820E00
  300.     DC.L    $4301FFFE,$0180000F,$01820F00
  301.     DC.L    $4401FFFE,$0180001F,$01820F10
  302.     DC.L    $4501FFFE,$0180002F,$01820F20
  303.     DC.L    $4601FFFE,$0180003F,$01820F30
  304.     DC.L    $4701FFFE,$0180004F,$01820F40
  305.     DC.L    $4801FFFE,$0180005F,$01820F50
  306.     DC.L    $4901FFFE,$0180006F,$01820F60
  307.     DC.L    $4A01FFFE,$0180007F,$01820F70
  308.     DC.L    $4B01FFFE,$0180008F,$01820F80
  309.     DC.L    $4C01FFFE,$0180009F,$01820F90
  310.     DC.L    $4D01FFFE,$018000AF,$01820FA0
  311.     DC.L    $4E01FFFE,$018000BF,$01820FB0
  312.     DC.L    $4F01FFFE,$018000CF,$01820FC0
  313.     DC.L    $5001FFFE,$018000DF,$01820FD0
  314.     DC.L    $5101FFFE,$018000EF,$01820FE0
  315.     DC.L    $5201FFFE,$018000FF,$01820FF0
  316.     DC.L    $5301FFFE,$018000FE,$01820FE0
  317.     DC.L    $5401FFFE,$018000FD,$01820FD0
  318.     DC.L    $5501FFFE,$018000FC,$01820FC0
  319.     DC.L    $5601FFFE,$018000FB,$01820FB0
  320.     DC.L    $5701FFFE,$018000FA,$01820FA0
  321.     DC.L    $5801FFFE,$018000F9,$01820F90
  322.     DC.L    $5901FFFE,$018000F8,$01820F80
  323.     DC.L    $5A01FFFE,$018000F7,$01820F70
  324.     DC.L    $5B01FFFE,$018000F6,$01820F60
  325.     DC.L    $5C01FFFE,$018000F5,$01820F50
  326.     DC.L    $5D01FFFE,$018000F4,$01820F40
  327.     DC.L    $5E01FFFE,$018000F3,$01820F30
  328.     DC.L    $5F01FFFE,$018000F2,$01820F20
  329.     DC.L    $6001FFFE,$018000F1,$01820F10
  330.     DC.L    $6101FFFE,$018000F0,$01820F00
  331.     DC.L    $6201FFFE,$018000E0,$01820E00
  332.     DC.L    $6301FFFE,$018000D0,$01820D00
  333.     DC.L    $6401FFFE,$018000C0,$01820C00
  334.     DC.L    $6501FFFE,$018000B0,$01820B00
  335.     DC.L    $6601FFFE,$018000A0,$01820A00
  336.     DC.L    $6701FFFE,$01800090,$01820900
  337.     DC.L    $6801FFFE,$01800080,$01820800
  338.     DC.L    $6901FFFE,$01800070,$01820700
  339.     DC.L    $6A01FFFE,$01800060,$01820600
  340.     DC.L    $6B01FFFE,$01800050,$01820500
  341.     DC.L    $6C01FFFE,$01800040,$01820400
  342.     DC.L    $6D01FFFE,$01800030,$01820300
  343.     DC.L    $6E01FFFE,$01800020,$01820200
  344.     DC.L    $6F01FFFE,$01800010,$01820100
  345. Wrap_End
  346.     DC.L    $7001FFFE,$01800000,$01820000
  347.     DC.L    $7101FFFE,$01800000,$01820000
  348.     DC.L    $7201FFFE,$01820FFF,$01800000
  349.     DC.W    $D001,$FFFE,$0182
  350. Bot_Col    DC.W    $0333
  351.     DC.L    $FFFFFFFE
  352. Copper_Size    EQU *-My_Copper_List
  353.  
  354. Message        DC.B    'C.C.S'
  355. Message_Size    EQU *-Message
  356.         EVEN
  357. Message_2    DC.B    'PRESENTS'
  358. Message_2_Size    EQU *-Message_2
  359.         EVEN
  360. Message_3    DC.B    'Two On One'
  361. Message_3_Size    EQU *-Message_3
  362.         EVEN
  363. Message_4    DC.B    'Press Left Button To Continue'
  364. Message_4_Size    EQU *-Message_4
  365.         EVEN
  366. Scroll_Pointer    DC.L    0
  367. Scroll_Delay    DC.B    50
  368. Scroll_Message
  369.         DC.B '                      '
  370.         DC.B ' Welcome to this Mega Porno disk.'
  371.         DC.B ' This disk was compiled by Dan Dare'
  372.         DC.B ' with help from PHIL(Parell-axe)'
  373.         DC.B ' Greeting go to:    SIMON HEYES,'
  374.         DC.B ' JAKE, ANDREW, JIM, MARK BURTON,'
  375.         DC.B ' EGON STARBLASTER, JCM, TCS, ROBERT'
  376.                 DC.B ', ALI, DILIP, CARL(WHERE THE FUCK ARE'
  377.                 DC.B 'YOU), JOHN (WHERE ARE YOU ASWELL),'
  378.                 DC.B    ' STEPHEN EVANS, WADS, JOHN LEE,'
  379.                 DC.B    ' KISH, ANDY, WALTER ARREL, MARK CONNOP, '
  380.                 DC.B    ' LEON (WHERE ARE YOU, HAVE YOU DIED OR SOMETHING), '
  381.                 DC.B    ' TONY (THANKS FOR THE VIRUS INFORMATION, MEATHOOK, '
  382.                 DC.B    'ROSS, VINCE (GET SOME NEW STUFF), CHRIS JONES, CHRIS LEWIS (HBC),'
  383.                 DC.B    ' MARK, AND ALL THE OTHER CONTATCS I WE HAVE FORGOTTEN'
  384.                 DC.B    ' WE WILL PUT YOU IN NEXT TIME ROUND (HONESTLY)'
  385.                 DC.B    ' NOW FOR THE MEGA ANTI GREETS (ONLY 2 THIS TIME ROUND)'
  386.                 DC.B    ' FIRSTLY TO DABS (LISTEN YOU LAME BASTARD, GO AND FUCK YOURSELF'
  387.                 DC.B    ' BACKWARDS WITH A BROOM HANDLE AS I AM SURE YOU WILL ENJOY IT MORE'
  388.                 DC.B    ' THAN SENDING OUT SHIT STUFF AND TRYING TO PISS ME OFF'
  389.                 DC.B    ' THIS GOES TO SPROGGY WHO MUST BE THE LAMEST PRATT IN THE ENTIRE'
  390.                 DC.B    ' AMIGA POPULATION, SPOGGY (MARK), DON`T EVER PUT STUPID MESSAGES'
  391.                 DC.B    ' IN YOUR CRAP CHUBBY BROWN DEMOS AND DON`T EVEN THINK OF CALLING ME'
  392.                 DC.B    ' A LAMER AS THAT WOULD BE THE BEST JOKE I HAVE HEARD FOR A LONG LONG TIME'
  393.                 DC.B    ' WELL, ENOUGH OF THAT CRAP, IF YOU WANT TO CONTACTS US THEN WRITE TO EITHER:'
  394.                 DC.B    ' DAN DARE, (0707) 338329 (ENGLAND) , PHIL (0707) 326547 (ENGLAND)'
  395.                 DC.B    ' CONTACT US FOR THE LATEST STUFF.  ENOUGH GOSIP FOR KNOW,   LET THE SHOW BEGIN'
  396.                               
  397. GfxBase        DC.L    0
  398. Copper_Mem    DC.L    0
  399. Bitmap_Mem    DC.L    0
  400. Old_Copper_Base    DC.L    0
  401. Red        DC.B    10,0
  402. Green        DC.B    10,0
  403. Blue        DC.B    10,0
  404. Bitmap_Struct    DS.L    30
  405. RastPort_Struct    DS.L    30
  406.